/**
 *用计数器记录loading被调用次数，调用hideLoading时，当计数达到0，
 * 才隐藏loading;并且默认超过10秒自动隐藏loading避免长时间锁屏造成用户体验差的问题
 * @type {number}
 */
// 调用案例
// import {
//     showLoading,
//     hideLoading
// } from 'utils/loading'
//
// showLoading();
// hideLoading();
// 加载信息，带遮罩
let needLoadingRequestCount = 0;
let loadingTimer = null;  
export function showLoading(title = '', mask = true) {
	
    if (needLoadingRequestCount === 0) {
        uni.showLoading({
            title,
            mask
        });

        // 最长5s自动关闭
        loadingTimer = setTimeout(() => {
            if (needLoadingRequestCount > 0) {
                uni.hideLoading();
            }
        }, 5000);
    }

    needLoadingRequestCount++;
	
}

// 隐藏遮罩
export function hideLoading() {
	
    if (needLoadingRequestCount <= 0) return;

    needLoadingRequestCount--;

    if (needLoadingRequestCount === 0) {
        loadingTimer && clearTimeout(loadingTimer);
        uni.hideLoading();
    }
	
}